home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol018 / pacman2.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  16.1 KB  |  476 lines

  1. 100 DBMSTART=2
  2. 120 ON KEY(10) GOSUB 9000
  3. 125 KEY(10)ON
  4. 150 B$=TIME$:X$=RIGHT$(B$,2):Y$=MID$(B$,4,2):X=VAL(X$):Y=VAL(Y$):Z=X+(Y*100)
  5. 160 RANDOMIZE Z:X=0:Y=0:B$=""
  6. 170 CLS:SCREEN 1:KEY OFF
  7. 180 DIM PAC(100):DIM PAC1(100):DIM GOBLIN(100):DIM CHERRY(100):DIM ENER(50):DIM SMPAC(50):DIM EYES(50):DIM NUM1500(50):DIM NUM1000(50):DIM NUM500(50)
  8. 190 X=149:Y=143:X1=133:Y1=95:X2=173:Y2=95:X3=173:Y3=83:MEN=3:EAT=0:INPRE=1:TIME=1:SWITCH=100:X4=155:Y4=107:CHER=0:MOO=0:SPEED=90
  9. 200 DIM NUM100(50):DIM NUM300(50):DIM NUM700(50):DIM NUM2000(50):DIM NUM3000(50):DIM NUM5000(50)
  10. 210 CIRCLE (160,100),6,1,,,.8
  11. 220 PAINT (160,100),1,1
  12. 230 GET (153,95)-(167,105),PAC:CLS
  13. 240 LINE (160,100)-(174,110),2,BF
  14. 250 GET (160,100)-(174,110),GOBLIN:CLS
  15. 260 CIRCLE (100,100),2,2:PAINT(100,100),2,2
  16. 270 CIRCLE (106,101),2,2:PAINT(106,101),2,2
  17. 280 LINE (100,98)-(105,93),2
  18. 290 LINE -(106,99),2
  19. 300 GET (98,93)-(108,103),CHERRY:CLS
  20. 310 CIRCLE(160,100),2:PAINT(160,100),3,3
  21. 320 GET (157,97)-(163,103),ENER:CLS
  22. 330 CIRCLE(160,100),5,1:PAINT(160,100),1,1:GET(155,96)-(165,104),SMPAC:CLS
  23. 340 CIRCLE(100,100),7,2,0,3.14,1:LINE(93,100)-(93,103),2:LINE -(107,103),2:LINE -(107,100),2:PAINT(100,100),2,2:GET(93,93)-(107,103),GOBLIN:CLS
  24. 350 CIRCLE(100,100),2,2:CIRCLE(106,100),2,2:PSET(99,99),2:PSET(100,99),2:PSET(99,100),2:PSET(105,99),2:PSET(106,99),2:PSET(105,100),2:GET(98,98)-(108,102),EYES:PUT(50,50),EYES:CLS
  25. 360 PUT (100,100),GOBLIN:PUT (102,102),EYES:GET (100,100)-(114,110),GOBLIN:CLS
  26. 370 PRINT"1500 1000 3000 700 2000 3000 5000":GET(0,0)-(32,8),NUM1500:GET(40,0)-(72,8),NUM1000:GET(8,0)-(32,8),NUM500
  27. 380 GET(40,0)-(63,8),NUM100:GET(80,0)-(102,8),NUM300:GET(120,0)-(144,8),NUM700:GET(152,0)-(184,8),NUM2000:GET(192,0)-(224,8),NUM3000:GET(232,0)-(264,8),NUM5000:CLS
  28. 390 LINE (52,10)-(156,10)
  29. 400 LINE -(156,34)
  30. 410 LINE -(164,34)
  31. 420 LINE -(164,10)
  32. 430 LINE -(268,10)
  33. 440 LINE -(268,64)
  34. 450 LINE -(228,64)
  35. 460 LINE -(228,88)
  36. 470 LINE -(268,88)
  37. 480 LINE (268,100)-(228,100)
  38. 490 LINE -(228,124)
  39. 500 LINE -(268,124)
  40. 510 LINE -(268,154)
  41. 520 LINE -(252,154)
  42. 530 LINE -(252,160)
  43. 540 LINE -(268,160)
  44. 550 LINE -(268,190)
  45. 560 LINE -(52,190)
  46. 570 LINE -(52,160)
  47. 580 LINE -(68,160)
  48. 590 LINE -(68,154)
  49. 600 LINE -(52,154)
  50. 610 LINE -(52,124)
  51. 620 LINE -(92,124)
  52. 630 LINE -(92,100)
  53. 640 LINE -(52,100)
  54. 650 LINE (52,88)-(92,88)
  55. 660 LINE -(92,64)
  56. 670 LINE -(52,64)
  57. 680 LINE -(52,10)
  58. 690 LINE (68,22)-(92,34),,BF
  59. 700 LINE (108,22)-(140,34),,BF
  60. 710 LINE (180,22)-(212,34),,BF
  61. 720 LINE (228,22)-(252,34),,BF
  62. 730 LINE (68,46)-(92,52),,BF
  63. 740 LINE (108,46)-(116,88),,BF
  64. 750 LINE (116,64)-(140,70),,BF
  65. 760 LINE (132,46)-(188,52),,BF
  66. 770 LINE (156,52)-(164,70),,BF
  67. 780 LINE (204,46)-(212,88),,BF
  68. 790 LINE (180,64)-(204,70),,BF
  69. 800 LINE (228,46)-(252,52),,BF
  70. 810 LINE (132,82)-(188,106),,B
  71. 820 LINE (108,100)-(116,124),,BF
  72. 830 LINE (204,100)-(212,124),,BF
  73. 840 LINE (132,118)-(188,124),,BF
  74. 850 LINE (156,124)-(164,142),,BF
  75. 860 LINE (68,136)-(92,142),,BF
  76. 870 LINE (84,142)-(92,160),,BF
  77. 880 LINE (108,136)-(140,142),,BF
  78. 890 LINE (180,136)-(212,142),,BF
  79. 900 LINE (228,136)-(252,142),,BF
  80. 910 LINE (228,142)-(236,160),,BF
  81. 920 LINE (68,172)-(140,178),,BF
  82. 930 LINE (108,154)-(116,172),,BF
  83. 940 LINE (132,154)-(188,160),,BF
  84. 950 LINE (156,160)-(164,178),,BF
  85. 960 LINE (180,172)-(252,178),,BF
  86. 970 LINE (204,154)-(212,172),,BF
  87. 980 LINE (133,82)-(187,82),0
  88. 990 LINE (156,10)-(164,34),,BF
  89. 1000 LINE (252,154)-(268,160),,BF
  90. 1010 LINE (52,154)-(68,160),,BF
  91. 1020 FOR H=60 TO 260 STEP 8
  92. 1030 FOR V=16 TO 58 STEP 6
  93. 1040 PSET (H,V)
  94. 1050 NEXT:SOUND 256,1:NEXT
  95. 1060 FOR H=60 TO 260 STEP 8
  96. 1070 FOR V=130 TO 190 STEP 6
  97. 1080 PSET (H,V)
  98. 1090 NEXT:SOUND 512,1:NEXT
  99. 1100 FOR V=10 TO 160 STEP 6
  100. 1110 PSET (100,V)
  101. 1111 SOUND 768,1
  102. 1120 NEXT
  103. 1130 FOR V=10 TO 160 STEP 6
  104. 1140 PSET (220,V)
  105. 1141 SOUND 1024,1
  106. 1150 NEXT
  107. 1160 CIRCLE(60,28),2:PAINT(60,27),3,3
  108. 1170 CIRCLE(260,28),2:PAINT(260,27),3,3
  109. 1180 CIRCLE(60,148),2:PAINT(60,147),3,3
  110. 1190 CIRCLE(260,148),2:PAINT(260,147),3,3
  111. 1200 LOCATE 1,18:PRINT "PAC MAN"
  112. 1210 LOCATE 3,1:PRINT "SCORE:"
  113. 1220 LINE (156,144)-(164,150),0,BF
  114. 1230 PUT(52,191),SMPAC:PUT(67,191),SMPAC
  115. 1240 R2=INT(RND*4)+1
  116. 1250 R3=INT(RND*4)+1
  117. 1260 PUT (X,Y),PAC
  118. 1270 GOSUB 1930
  119. 1280 PUT (X,Y),PAC
  120. 1290 IF EAT=1 THEN CHAN=CHAN+1
  121. 1300 IF CHAN>=SPEED THEN 3670
  122. 1310 IF INPRE=1 AND SCORE+ADD>=10000 THEN 4040
  123. 1320 UP=UP+1:IF UP>=300 AND CHER=0 THEN GOSUB 4370
  124. 1330 IF UP>=100 AND CHER=1 THEN GOSUB 4400
  125. 1340 IF X=157 AND Y=107 AND CHER=1 THEN GOSUB 4430
  126. 1350 IF MOO=1 AND TIME$>"00:00:01" THEN GOSUB 4560
  127. 1360 A$=INKEY$
  128. 1370 IF A$<>"" THEN B$=A$
  129. 1380 IF B$="2" THEN 1430
  130. 1390 IF B$="4" THEN 1550
  131. 1400 IF B$="6" THEN 1680
  132. 1410 IF B$="8" THEN 1810
  133. 1420 RETURN
  134. 1430 IF 3=POINT(X+1,Y+11) OR 3=POINT(X+13,Y+11) THEN RETURN
  135. 1431 SOUND 100,1
  136. 1440 PUT (X,Y),PAC
  137. 1450 Y=Y+6
  138. 1460 PUT (X,Y),PAC
  139. 1470 IF 2=POINT(X+7,Y+5) AND MOO=0 THEN GOSUB 3000
  140. 1480 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  141. 1490 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  142. 1500 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  143. 1510 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  144. 1520 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  145. 1530 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  146. 1540 RETURN
  147. 1550 IF 3=POINT(X-1,Y+1) OR 3=POINT(X-1,Y+9) THEN RETURN
  148. 1551 SOUND 200,1
  149. 1560 PUT (X,Y),PAC
  150. 1570 X=X-8
  151. 1580 IF X<53 THEN X=253
  152. 1590 PUT (X,Y),PAC
  153. 1600 IF 2=POINT(X+7,Y+5) AND MOO=0 THEN GOSUB 3000
  154. 1610 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  155. 1620 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  156. 1630 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  157. 1640 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  158. 1650 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  159. 1660 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  160. 1670 RETURN
  161. 1680 IF 3=POINT(X+15,Y+1) OR 3=POINT(X+15,Y+9) THEN RETURN
  162. 1681 SOUND 300,1
  163. 1690 PUT (X,Y),PAC
  164. 1700 X=X+8
  165. 1710 IF X>267 THEN X=53
  166. 1720 PUT (X,Y),PAC
  167. 1730 IF 2=POINT(X+7,Y+5) AND MOO=0 THEN GOSUB 3000
  168. 1740 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  169. 1750 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  170. 1760 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  171. 1770 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  172. 1780 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  173. 1790 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  174. 1800 RETURN
  175. 1810 IF 3=POINT(X+1,Y-1) OR 3=POINT(X+11,Y-1) THEN RETURN
  176. 1811 SOUND 400,1
  177. 1820 PUT (X,Y),PAC
  178. 1830 Y=Y-6
  179. 1840 PUT (X,Y),PAC
  180. 1850 IF 2=POINT(X+7,Y+5) AND MOO=0 THEN GOSUB 3000
  181. 1860 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  182. 1870 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  183. 1880 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  184. 1890 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  185. 1900 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  186. 1910 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  187. 1920 RETURN
  188. 1930 PUT (X1,Y1),GOBLIN
  189. 1940 PUT (X2,Y2),GOBLIN
  190. 1950 PUT (X3,Y3),GOBLIN
  191. 1960 R1=INT(RND*4)+1:IF R1=DIR1 THEN 1960 ELSE 1990
  192. 1970 R2=INT(RND*4)+1:IF R2=DIR2 THEN 1970 ELSE 2000
  193. 1980 R3=INT(RND*4)+1:IF R3=DIR3 THEN 1980 ELSE 2010
  194. 1990 GOSUB 1290:ON R1 GOTO 2030,2270,2510,2750
  195. 2000 ON R2 GOTO 2110,2350,2590,2830
  196. 2010 ON R3 GOTO 2190,2430,2670,2910
  197. 2020 GOTO 6010
  198. 2030 IF 3=POINT(X1+1,Y1+11) OR 3=POINT(X1+13,Y1+11) THEN 1960
  199. 2040 PUT (X1,Y1),GOBLIN
  200. 2050 Y1=Y1+6:DIR1=4
  201. 2060 PUT (X1,Y1),GOBLIN
  202. 2070 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  203. 2080 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  204. 2090 IF X1=93 AND Y1=89 THEN R1=2:DIR1=3:GOTO 1990
  205. 2100 GOTO 2010
  206. 2110 IF 3=POINT(X2+1,Y2+11) OR 3=POINT(X2+13,Y2+11) THEN 1970
  207. 2120 PUT (X2,Y2),GOBLIN
  208. 2130 Y2=Y2+6:DIR2=4
  209. 2140 PUT (X2,Y2),GOBLIN
  210. 2150 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  211. 2160 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  212. 2170 IF X2=93 AND Y2=89 THEN R2=2:DIR2=3:GOTO 2000
  213. 2180 GOTO 1990
  214. 2190 IF 3=POINT(X3+1,Y3+11) OR 3=POINT(X3+13,Y3+11) THEN 1980
  215. 2200 PUT (X3,Y3),GOBLIN
  216. 2210 Y3=Y3+6:DIR3=4
  217. 2220 PUT (X3,Y3),GOBLIN
  218. 2230 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  219. 2240 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  220. 2250 IF X3=93 AND Y3=89 THEN R3=2:DIR3=3:GOTO 2010
  221. 2260 GOTO 2000
  222. 2270 IF 3=POINT(X1-1,Y1+1) OR 3=POINT(X1-1,Y1+9) THEN 1960
  223. 2280 PUT (X1,Y1),GOBLIN
  224. 2290 X1=X1-8:DIR1=3
  225. 2300 IF X1<53 THEN X1=253
  226. 2310 PUT (X1,Y1),GOBLIN
  227. 2320 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  228. 2330 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  229. 2340 GOTO 2010
  230. 2350 IF 3=POINT(X2-1,Y2+1) OR 3=POINT(X2-1,Y2+9) THEN 1970
  231. 2360 PUT (X2,Y2),GOBLIN
  232. 2370 X2=X2-8:DIR2=3
  233. 2380 IF X2<53 THEN X2=253
  234. 2390 PUT (X2,Y2),GOBLIN
  235. 2400 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  236. 2410 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  237. 2420 GOTO 1990
  238. 2430 IF 3=POINT(X3-1,Y3+1) OR 3=POINT(X3-1,Y3+9) THEN 1980
  239. 2440 PUT (X3,Y3),GOBLIN
  240. 2450 X3=X3-8:DIR3=3
  241. 2460 IF X3<53 THEN X3=253
  242. 2470 PUT (X3,Y3),GOBLIN
  243. 2480 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  244. 2490 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  245. 2500 GOTO 2000
  246. 2510 IF 3=POINT(X1+15,Y1+1) OR 3=POINT(X1+15,Y1+9) THEN 1960
  247. 2520 PUT (X1,Y1),GOBLIN
  248. 2530 X1=X1+8:DIR1=2
  249. 2540 IF X1>267 THEN X1=53
  250. 2550 PUT (X1,Y1),GOBLIN
  251. 2560 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  252. 2570 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  253. 2580 GOTO 2010
  254. 2590 IF 3=POINT(X2+15,Y2+1) OR 3=POINT(X2+15,Y2+9) THEN 1970
  255. 2600 PUT (X2,Y2),GOBLIN
  256. 2610 X2=X2+8:DIR2=2
  257. 2620 IF X2>267 THEN X2=53
  258. 2630 PUT (X2,Y2),GOBLIN
  259. 2640 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  260. 2650 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3880
  261. 2660 GOTO 1990
  262. 2670 IF 3=POINT(X3+15,Y3+1) OR 3=POINT(X3+15,Y3+9) THEN 1980
  263. 2680 PUT (X3,Y3),GOBLIN
  264. 2690 X3=X3+8:DIR3=2
  265. 2700 IF X3>267 THEN X3=53
  266. 2710 PUT (X3,Y3),GOBLIN
  267. 2720 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  268. 2730 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3960
  269. 2740 GOTO 2000
  270. 2750 IF 3=POINT(X1+1,Y1-1) OR 3=POINT(X1+11,Y1-1) THEN 1960
  271. 2760 PUT (X1,Y1),GOBLIN
  272. 2770 Y1=Y1-6:DIR1=1
  273. 2780 PUT (X1,Y1),GOBLIN
  274. 2790 IF X1=X AND Y1=Y AND EAT=0 THEN 3180
  275. 2800 IF X=X1 AND Y=Y1 AND EAT=1 THEN GOSUB 3800
  276. 2810 IF X1=93 AND Y1=89 THEN R1=2:DIR1=3:GOTO 1990
  277. 2820 GOTO 2010
  278. 2830 IF 3=POINT(X2+1,Y2-1) OR 3=POINT(X2+11,Y2-1) THEN 1970
  279. 2840 PUT (X2,Y2),GOBLIN
  280. 2850 Y2=Y2-6:DIR2=1
  281. 2860 PUT (X2,Y2),GOBLIN
  282. 2870 IF X2=X AND Y2=Y AND EAT=0 THEN 3180
  283. 2880 IF X=X2 AND Y=Y2 AND EAT=1 THEN GOSUB 3800
  284. 2890 IF X2=93 AND Y2=89 THEN R2=2:DIR2=3:GOTO 2000
  285. 2900 GOTO 1990
  286. 2910 IF 3=POINT(X3+1,Y3-1) OR 3=POINT(X3+11,Y3-1) THEN 1980
  287. 2920 PUT (X3,Y3),GOBLIN
  288. 2930 Y3=Y3-6:DIR3=1
  289. 2940 PUT (X3,Y3),GOBLIN
  290. 2950 IF X3=X AND Y3=Y AND EAT=0 THEN 3180
  291. 2960 IF X=X3 AND Y=Y3 AND EAT=1 THEN GOSUB 3800
  292. 2970 IF X3=93 AND Y3=89 THEN R3=2:DIR3=3:GOTO 2010
  293. 2980 GOTO 2000
  294. 2990 STOP
  295. 3000 IF X=53 AND Y=23 THEN 3100
  296. 3010 IF X=53 AND Y=23 THEN 3100
  297. 3020 IF X=253 AND Y=23 THEN 3120
  298. 3030 IF X=53 AND Y=143 THEN 3140
  299. 3040 IF X=253 AND Y=143 THEN 3160
  300. 3050 PSET (X+7,Y+5),1
  301. 3060 SCORE=SCORE+10
  302. 3070 IF SCORE=2600*TIME THEN 4090
  303. 3080 LOCATE 1,1:PRINT SCORE+ADD
  304. 3090 RETURN
  305. 3100 SCORE=SCORE+50:PUT(57,25),ENER
  306. 3101 PLAY "MBO3CAB"
  307. 3110 GOTO 3540
  308. 3120 SCORE=SCORE+50:PUT(257,25),ENER
  309. 3121 PLAY "MBO3EAG"
  310. 3130 GOTO 3540
  311. 3140 SCORE=SCORE+50:PUT(57,145),ENER
  312. 3141 PLAY "MBO3DEA"
  313. 3150 GOTO 3540
  314. 3160 SCORE=SCORE+50:PUT(257,145),ENER
  315. 3161 PLAY "MBO3FAG"
  316. 3170 GOTO 3540
  317. 3180 MEN=MEN-1:INCR=0
  318. 3190 PUT (X,Y),PAC
  319. 3200 FOR PAUSE=1 TO 800:NEXT
  320. 3210 PUT (X1,Y1),GOBLIN
  321. 3220 FOR PAUSE=1 TO 800:NEXT
  322. 3230 PUT (X2,Y2),GOBLIN
  323. 3240 FOR PAUSE=1 TO 800:NEXT
  324. 3250 PUT (X3,Y3),GOBLIN
  325. 3260 FOR PAUSE=1 TO 800:NEXT
  326. 3270 X=149:Y=143:X1=133:Y1=95:X2=173:Y2=95:X3=173:Y3=83
  327. 3280 PUT (X,Y),PAC
  328. 3290 IF MEN=0 THEN 3350
  329. 3300 IF MEN=1 THEN PUT(52,191),SMPAC
  330. 3310 IF MEN=2 THEN PUT(67,191),SMPAC
  331. 3320 IF MEN=3 THEN PUT(82,191),SMPAC
  332. 3330 A$="":B$=""
  333. 3340 GOTO 1930
  334. 3350 LOCATE 6,17
  335. 3360 PRINT "G";
  336. 3370 FOR PAUSE=1 TO 500:NEXT
  337. 3380 PRINT "A";
  338. 3390 FOR PAUSE=1 TO 500:NEXT
  339. 3400 PRINT "M";
  340. 3410 FOR PAUSE=1 TO 500:NEXT
  341. 3420 PRINT "E";
  342. 3430 FOR PAUSE=1 TO 500:NEXT
  343. 3440 PRINT " ";
  344. 3450 FOR PAUSE=1 TO 500:NEXT
  345. 3460 PRINT "O";
  346. 3470 FOR PAUSE=1 TO 500:NEXT
  347. 3480 PRINT "V";
  348. 3490 FOR PAUSE=1 TO 500:NEXT
  349. 3500 PRINT "E";
  350. 3510 FOR PAUSE=1 TO 500:NEXT
  351. 3520 PRINT "R";
  352. 3530 GOTO 3530
  353. 3540 PUT(X1,Y1),GOBLIN
  354. 3550 PUT(X2,Y2),GOBLIN
  355. 3560 PUT(X3,Y3),GOBLIN
  356. 3570 PUT(1,180),GOBLIN
  357. 3580 LINE(4,188)-(12,188),0
  358. 3590 GET(1,180)-(15,190),GOBLIN
  359. 3600 PUT(X1,Y1),GOBLIN
  360. 3610 PUT(X2,Y2),GOBLIN
  361. 3620 PUT(X3,Y3),GOBLIN
  362. 3630 PUT(1,180),GOBLIN
  363. 3640 EAT=1:INCR=0
  364. 3650 LINE (133,82)-(187,82),3
  365. 3660 GOTO 3080
  366. 3670 PUT (X1,Y1),GOBLIN
  367. 3680 PUT (X2,Y2),GOBLIN
  368. 3690 PUT (X3,Y3),GOBLIN
  369. 3700 PUT (1,180),GOBLIN
  370. 3710 LINE(4,188)-(12,188),2
  371. 3720 GET(1,180)-(15,190),GOBLIN
  372. 3730 PUT (X1,Y1),GOBLIN
  373. 3740 PUT (X2,Y2),GOBLIN
  374. 3750 PUT (X3,Y3),GOBLIN
  375. 3760 PUT (1,180),GOBLIN
  376. 3770 EAT=0:CHAN=0:INCR=0
  377. 3780 LINE (133,82)-(187,82),0
  378. 3790 GOTO 3080
  379. 3800 INCR=INCR+1
  380. 3810 IF INCR=1 THEN ADD=ADD+500:PUT(X1,Y1),GOBLIN:PUT(X1+10,Y1-5),NUM500:FOR PAUSE=1 TO 1000:NEXT:PUT(X1+10,Y1-5),NUM500
  381. 3820 IF INCR=2 THEN ADD=ADD+1000:PUT(X1,Y1),GOBLIN:PUT(X1+10,Y1-5),NUM1000:FOR PAUSE=1 TO 1000:NEXT:PUT(X1+10,Y1-5),NUM1000
  382. 3830 IF INCR=3 THEN ADD=ADD+1500:PUT(X1,Y1),GOBLIN:PUT(X1+10,Y1-5),NUM1500:FOR PAUSE=1 TO 1000:NEXT:PUT(X1+10,Y1-5),NUM1500
  383. 3840 X1=133:Y1=95
  384. 3850 LOCATE 1,1:PRINT SCORE+ADD
  385. 3851 PLAY "MBO4AABBEFG"
  386. 3860 PUT(X1,Y1),GOBLIN
  387. 3870 RETURN
  388. 3880 INCR=INCR+1
  389. 3890 IF INCR=1 THEN ADD=ADD+500:PUT(X2,Y2),GOBLIN:PUT(X2+10,Y2-5),NUM500:FOR PAUSE=1 TO 1000:NEXT:PUT(X2+10,Y2-5),NUM500
  390. 3900 IF INCR=2 THEN ADD=ADD+1000:PUT(X2,Y2),GOBLIN:PUT(X2+10,Y2-5),NUM1000:FOR PAUSE=1 TO 1000:NEXT:PUT(X2+10,Y2-5),NUM1000
  391. 3910 IF INCR=3 THEN ADD=ADD+1500:PUT(X2,Y2),GOBLIN:PUT(X2+10,Y2-5),NUM1500:FOR PAUSE=1 TO 1000:NEXT:PUT(X2+10,Y2-5),NUM1500
  392. 3920 X2=173:Y2=95
  393. 3930 LOCATE 1,1:PRINT SCORE+ADD
  394. 3931 PLAY "MBO2AABBEFG"
  395. 3940 PUT(X2,Y2),GOBLIN
  396. 3950 RETURN
  397. 3960 INCR=INCR+1
  398. 3970 IF INCR=1 THEN ADD=ADD+500:PUT(X3,Y3),GOBLIN:PUT(X3+10,Y3-5),NUM500:FOR PAUSE=1 TO 1000:NEXT:PUT(X3+10,Y3-5),NUM500
  399. 3980 IF INCR=2 THEN ADD=ADD+1000:PUT(X3,Y3),GOBLIN:PUT(X3+10,Y3-5),NUM1000:FOR PAUSE=1 TO 1000:NEXT:PUT(X3+10,Y3-5),NUM1000
  400. 3990 IF INCR=3 THEN ADD=ADD+1500:PUT(X3,Y3),GOBLIN:PUT(X3+10,Y3-5),NUM1500:FOR PAUSE=1 TO 1000:NEXT:PUT(X3+10,Y3-5),NUM1500
  401. 4000 X3=173:Y3=83
  402. 4010 LOCATE 1,1:PRINT SCORE+ADD
  403. 4011 PLAY "MBO5AEFGBCE"
  404. 4020 PUT(X3,Y3),GOBLIN
  405. 4030 RETURN
  406. 4040 IF MEN=1 THEN PUT(52,191),SMPAC
  407. 4050 IF MEN=2 THEN PUT(67,191),SMPAC
  408. 4060 IF MEN=3 THEN PUT(82,191),SMPAC
  409. 4070 INPRE=0:MEN=MEN+1
  410. 4080 GOTO 1320
  411. 4090 FOR PAUSE=1 TO 1000:NEXT
  412. 4100 PUT(X,Y),PAC
  413. 4110 PUT(X1,Y1),GOBLIN
  414. 4120 PUT(X2,Y2),GOBLIN
  415. 4130 PUT(X3,Y3),GOBLIN
  416. 4140 FOR H=60 TO 260 STEP 8
  417. 4150 FOR V=16 TO 58 STEP 6
  418. 4160 PSET (H,V)
  419. 4170 NEXT:NEXT
  420. 4180 FOR H=60 TO 260 STEP 8
  421. 4190 FOR V=130 TO 190 STEP 6
  422. 4200 PSET (H,V)
  423. 4210 NEXT:NEXT
  424. 4220 FOR V=10 TO 160 STEP 6
  425. 4230 PSET (100,V)
  426. 4240 NEXT
  427. 4250 FOR V=10 TO 160 STEP 6
  428. 4260 PSET (220,V)
  429. 4270 NEXT
  430. 4280 CIRCLE(60,28),2:PAINT(60,27),3,3
  431. 4290 CIRCLE(260,28),2:PAINT(260,27),3,3
  432. 4300 CIRCLE(60,148),2:PAINT(60,147),3,3
  433. 4310 CIRCLE(260,148),2:PAINT(260,147),3,3
  434. 4320 TIME=TIME+1:SWITCH=INT(SWITCH*.9299999)
  435. 4330 X=149:Y=143:X1=133:Y1=95:X2=173:Y2=95:X3=173:Y3=83:SPEED=SPEED*.9
  436. 4340 LINE(156,144)-(164,150),0,BF
  437. 4350 PUT(X,Y),PAC
  438. 4360 GOTO 1930
  439. 4370 UP=0:CHER=1
  440. 4380 PUT (X4,Y4),CHERRY
  441. 4390 RETURN
  442. 4400 UP=0:CHER=0:FRUIT=FRUIT+1
  443. 4410 PUT (X4,Y4),CHERRY
  444. 4420 RETURN
  445. 4430 FRUIT=FRUIT+1:CHER=0:MOO=1
  446. 4440 PUT (X4,Y4),CHERRY
  447. 4450 IF FRUIT=1 THEN ADD=ADD+100:PUT(150,109),NUM100
  448. 4460 IF FRUIT=2 THEN ADD=ADD+300:PUT(150,109),NUM300
  449. 4470 IF FRUIT=3 OR FRUIT=4 THEN ADD=ADD+500:PUT(150,109),NUM500
  450. 4480 IF FRUIT=5 OR FRUIT=6 THEN ADD=ADD+700:PUT(150,109),NUM700
  451. 4490 IF FRUIT=7 OR FRIUT=8 THEN ADD=ADD+1000:PUT(146,109),NUM1000
  452. 4500 IF FRUIT=9 OR FRIUT=10 THEN ADD=ADD+2000:PUT(146,109),NUM2000
  453. 4510 IF FRUIT=11 OR FRUIT=12 THEN ADD=ADD+3000:PUT(146,109),NUM3000
  454. 4520 IF FRUIT>12 THEN ADD=ADD+5000:PUT(146,109),NUM5000
  455. 4530 LOCATE 1,1:PRINT SCORE+ADD
  456. 4531 PLAY "MBO3AGBFCE"
  457. 4540 TIME$="00:00:00"
  458. 4550 RETURN
  459. 4560 MOO=0
  460. 4570 IF FRUIT=1 THEN PUT(150,109),NUM100
  461. 4580 IF FRUIT=2 THEN PUT(150,109),NUM300
  462. 4590 IF FRUIT=3 OR FRUIT=4 THEN PUT(150,109),NUM500
  463. 4600 IF FRUIT=5 OR FRUIT=6 THEN PUT(150,109),NUM700
  464. 4610 IF FRUIT=7 OR FRIUT=8 THEN PUT(146,109),NUM1000
  465. 4620 IF FRUIT=9 OR FRIUT=10 THEN PUT(146,109),NUM2000
  466. 4630 IF FRUIT=11 OR FRUIT=12 THEN PUT(146,109),NUM3000
  467. 4640 IF FRUIT>12 THEN PUT(146,109),NUM5000
  468. 4650 RETURN
  469. 4660 PLAY"T180 MN O3C4 C8 C B- O2G O3C4 ML L8E- MN E4. "
  470. 4670 PLAY"     MN O3C4 C8 C B- O2G O3C4 ML L8B- MN B4. "
  471. 4680 PLAY"     MN O3C4 C8 C B- O2G O3C4 ML L8E- MN EEF "
  472. 4690 PLAY"    MN O3L4G- F L8E- C E4 ML C8 MN C4. "
  473. 4700 PRINT TAB(17)"PAC MAN"
  474. 9000 IF DBMSTART=2 THEN CHAIN"MENU"
  475. 9010 END
  476.